package com.ydd.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.ydd.dto.LinkDTO;
import com.ydd.dto.LinkPageQueryDTO;
import com.ydd.entity.YddLink;
import com.ydd.mapper.YddLinkMapper;
import com.ydd.result.PageResult;
import com.ydd.service.YddLinkService;
import com.ydd.vo.LinkVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Description TODO
 * @Author fang
 * @Date 2023-05-29 16:31
 */
@Service
public class YddLinkServiceImpl implements YddLinkService {
    @Autowired
    private YddLinkMapper yddLinkMapper;

    @Override
    public PageResult<LinkVO> listLink(LinkPageQueryDTO linkPageQueryDTO) {
        PageHelper.startPage(linkPageQueryDTO.getPage(),linkPageQueryDTO.getLimit());
        Page<LinkVO> page=yddLinkMapper.listLink(linkPageQueryDTO);
        int pageSize = page.getPageSize();
        int totalPages = page.getPages();
        long count = page.getTotal();
        List<LinkVO> data = page.getResult();
        int currentPage = page.getPageNum();
        return new PageResult<>(count,totalPages,pageSize,currentPage,data);

    }

    @Override
    public void addLink(LinkDTO linkDTO) {
        yddLinkMapper.addLink(linkDTO);
    }

    @Override
    public void deleteLink(Long id) {
       yddLinkMapper.deleteLink(id);
    }

    @Override
    public void updateLink(LinkDTO linkDTO) {
        yddLinkMapper.updateLink(linkDTO);
    }

    @Override
    public LinkVO linkRowinfo(Long id) {
       LinkVO linkVO= yddLinkMapper.linkRowinfo(id);
       return linkVO;
    }
}
